package com.power.sifa.net.service;

import com.plf.common.exception.BusinessException;
import com.power.sifa.net.model.General_tree;
import com.power.sifa.net.model.General_tree_option;

import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

public interface General_treeService {

    /**
     * 新增构建树
     *
     * @param applyid
     * @param treeBuildList
     * @return
     * @throws NoSuchMethodException
     * @throws IllegalAccessException
     * @throws InvocationTargetException
     */
    List<Map<String, Object>> addBuild(String applyid, String cornumber, List<General_tree> treeBuildList) throws Exception;

    /**
     * 编辑构建树
     *
     * @param applyid
     * @param treeBuildList
     * @return
     */
    List<Map<String, Object>> editBuild(String applyid, List<General_tree> treeBuildList) throws BusinessException;

    /**
     * 删除节点
     *
     * @param applyid
     * @param id
     * @param treeOption
     */
    void delNode(String applyid, String id, General_tree_option treeOption);

    /**
     * 保存节点
     *
     * @param applyid
     * @param treeOption
     * @throws Exception
     */
    void saveNode(String applyid, General_tree_option treeOption) throws Exception;
}
